Annotation and application control of general purpose computer documents using annotation peripheral

ABSTRACT

This invention relates to an annotation method for a computer. In particular, the invention relates to the method and software for a computer peripheral device to be used as an input device to electronically annotate and otherwise mark up computer documents and files such as word processing documents, graphics images, electronic mail messages, presentation documents, spreadsheets, and the like. This invention also performs application navigation functions under the control of the peripheral.

CROSS-REFERENCE

[0001] An incorporation by reference is made to Applicants'nonprovisional application Ser. No. 09/295,159 filed Apr. 20, 1999,entitled “Sketch-Based Computer Peripheral Device”, currently pending(attorney docket number INFORMAL.PT1), which is not admitted to be priorart with respect to the present invention by its mention in thebackground.

BACKGROUND

[0002] This invention relates to an annotation method for a computer.More specifically, the invention relates to the method and software fora computer peripheral device to be used as a device to electronicallyannotate and otherwise mark up computer documents and files such as wordprocessing documents, graphics images, electronic mail messages,presentation documents, spreadsheets, and the like, while alsoperforming application navigation functions under the control of theperipheral.

[0003] Users of computers sometimes have the need to annotate and markup electronic documents on the computer. These electronic documentswould perhaps be word processing documents, spreadsheet documents,presentation documents, electronic mail messages, or the like. Suchannotation and marking up is generally difficult to accomplish with thecurrent computer input/output techniques.

[0004] A mouse is difficult to use as a drawing and writing device. Themouse is bulky and cumbersome for such drawing, and the hand-eyecoordination is poor since the user has to look at the screen to seewhat has been drawn, and not at the hand, which is doing the drawing. Agraphics pad, which uses a digitizing pad and a stylus, is easier, butis still difficult, as the user cannot see the trace of what has beendrawn on the digitizing pad. The user also cannot see a rendition of thedocument on the graphics pad or other data that is being marked up orannotated.

[0005] Other pen-like input devices that read specialized marks on paperor are pressure sensitive can be used to enter handwriting into computersystems, but this still does not work well for annotation of existingcomputer documents, as the user still does not have an image of thedocument on which to write.

[0006] The prior art contains methods for allowing handwritingannotations to be entered into computer documents. For example, tabletcomputers allow stylus and handwriting input and integration of thehandwriting with documents that are supported by the computer system.However, this defines a special purpose system not usable with existingcomputer hardware; it requires a new computer system and a new operatingsystem.

[0007] It is also often difficult or impossible to annotate existingelectronic documents because the computer operating system is notequipped to allow the input or storage of such annotations, or theapplication employed by the user is not designed to input and store suchannotations. This means the user may have to invest in expensive,special purpose devices to enable annotation of electronic documents.

[0008] There are also many software packages available for handheldpersonal computers (PC's) and personal digital assistant (PDA) handhelddevices that allow the user to create handwritten documents on thehandheld device using a stylus. Such notations can be created on thehandheld device, but the only method for communicating them to thecomputer is via a copying operation that transfers an entire document,thereby precluding any interaction with an existing document on thecomputer.

[0009] Accordingly, to mark up or annotate a document on a computer,users often have to resort to printing out the document onto hardcopypaper, and then using a conventional pen or pencil or other well-knownmeans to manually mark up or annotate the document or other data. Whilesuch a method is easy and natural, the user is now left with anon-electronic rendition of the original document, along with the markups or annotations, which is now very much less easily manipulated andotherwise worked with in an electronic fashion. For instance, it is notpossible to directly (e.g., without first scanning in the hardcopydocument) send the marked up or annotated document by electronic mail.

[0010] The prior art does not allow using annotation peripheral deviceand associated software to effect integration of handwritten annotationdirectly into computer documents regardless of the facility of thedocument application to allow the input or storage of such annotations.Annotation is not made more natural to perform than with a mouse, andprior art annotation devices do not have a naturalistic appearance. Theydo not provide visual feedback of the document being annotated so thereis a shift of attention to a document image on a display separate fromthe surface being annotated.

[0011] Many of the examples in the prior art involve complete hardwareand software implementations of document application plus annotationhandling, and are special-cases, not general cases, of annotation ofcomputer documents, inapplicable to a very large number of documenttypes and computer applications now in use.

[0012] The prior art does not enable utilizing existing handheld devicessuch as Palm, Inc.'s Palm handheld devices with existing standardsoftware to integrate handwritten annotation with conventionalelectronic documents.

[0013] While the prior art in limited cases allows specific manner ofadding annotations to existing documents as part of a particularizedfeature set, there is no provision in those cases for interfacing to acommonly available peripheral annotation device to make annotationnaturalistic and effective.

SUMMARY OF THE INVENTION

[0014] Therefore the current invention provides innovation andimprovements to this prior art in many ways.

[0015] The invention provides for using an annotation peripheral deviceand associated software to effect integration of handwritten annotationdirectly into computer documents regardless of the facility of thedocument application to allow the input or storage of such annotations.The annotation peripheral is such that annotation is more natural toperform than with a mouse, and has a naturalistic appearance. Theannotation peripheral provides visual feedback of the document beingannotated so there is no shift of attention to a document image on adisplay separate from the surface being annotated.

[0016] The invention enables utilizing existing handheld devices such asthe Palm models of personal digital assistants, and existing standardsoftware with, in order to integrate handwritten annotation withexisting standard documents, when used according to the methodsdescribed in the invention and with the software embodiments of theinvention.

[0017] For example, the invention is an improvement on the prior art ofadding graphics to word processing documents such as MicrosoftCorporation's Microsoft Word in that a common handheld device, or anydevice similar in possessing a touch screen and a liquid crystal display(LCD), can be used to integrate the annotations much more easily andnaturally using handwriting instead of a mouse, or other pen-based inputmethod.

[0018] The event handling and coordinate mapping defined as part of themethod of the invention described in this application allow theinclusion of naturalistic handwritten annotation into most, if not all,common documents in most, if not all, personal computer and workstationcomputer operating environments.

[0019] As a natural outcome of using such annotation peripheral asdescribed here, inclusion of the facility to control the computer andassociated application enhances the usefulness and utility of theinvention. Control of the application from the annotation peripheral isintegrated in such a way that no other special software or hardware isneeded, that is, the control functions are included in the capabilitiesof the annotation peripheral, via hardware buttons or on-screen menuselections. The capability of controlling the computer using a standarddevice such as a PDA, which together with the software of the inventionconstitute the preferred embodiment, is a significant improvement overprior art.

[0020] Therefore, this invention is way for a user to electronicallyannotate an electronic file via a computer. The method includes acomputer system which has a computer display and an input device.Through this input device, a drawn line trace is received as input froma user. This then renders pixels which correspond to the drawn linetrace according to a pre-selected attribute. The pixels are thendisplayed on a computer display substantially at the same time the userenters the drawn line trace through the input device.

[0021] In a preferred embodiment of the present invention, the inputdevice is a handheld computer peripheral device. In another preferredembodiment of the present invention, the input device is a computerdisplay. In yet another preferred embodiment of the present invention,the input device is adapted to display a selected portion of screen datadisplayed on the computer display. In addition, the handheld computerperipheral device may be modified to display all of the screen datadisplayed on the computer display.

[0022] Another embodiment of the present invention comprises adding aninterpolation of the drawn line trace before rendering the pixels. Thiswould mean the peripheral device would send only a subset of informationabout the drawn line trace to the computer, causing the resulting pixelson the computer display to appear as a continuous drawn line trace.

[0023] Another embodiment further comprises a step of determining one ormore attributes of the drawn line trace. These attribute may include:the thickness of the drawn line trace, one or more shadingcharacteristics, one or more dithering characteristics; a mode to erasethe previously drawn line trace, and one or more colors of the drawnline trace.

[0024] In another embodiment, only an abstract representation of thedrawn line trace is received. This abstract representation includes oneor more of the followings: straight lines, rough-drawn straight lines,simple geometrical curves, complex geometrical curves, and compositegeometrical shapes.

[0025] In addition, the abstract representation may contain informationto imitate the drawn line trace. This representation includes anabstract primitive of the drawn line trace and one or more relevantattributes of the abstract primitive, sufficient to enable a recreationof the drawn line trace. A further embodiment of the abstract includesthe abstract primitive of the drawn line trace, the length of the locusof the drawn line trace, the average width of the line which comprisesthe drawn locus of the drawn line trace, information on the color of thedrawn line trace, and information to indicate the sketchy nature of thedrawn line trace. Locus is defined as a set of pixels representing thedrawn line trace. Abstract primitive refers to an abstract line traceinformation of the drawn line trace, such as a wavelength of theunderlying averaged periodic sine wave corresponding to the drawn linetrace.

[0026] This invention may also be implemented through a computer programproduct stored on a computer-readable medium for interacting with a userthat inputs a drawn line trace. This product includes instructionoperations for a programmable processor to receive a drawn line trace asinput from a user via an input device. The processor then renders pixelswhich correspond to the drawn line trace according to a pre-selectedattribute. The pixels are then displayed on a computer displaysubstantially at the same time the user enters the drawn line tracethrough the input device.

[0027] Another embodiment uses a computer program on a computer-readablemedium. The computer program includes instructions for a computer toreceive a drawn line trace as input from a user via an input device. Theprogram then renders pixels which correspond to the drawn line traceaccording to a pre-selected attribute. The pixels are then displayed ona computer display substantially at the same time the user enters thedrawn line trace through the input device.

[0028] A further embodiment uses a computer system for a user toelectronically annotate electronic files. The computer system includes acomputer display and an input device. Through this input device, a drawnline trace is received as input from a user. A computer processorconnected to the input device then renders pixels which correspond tothe drawn line trace according to a pre-selected attribute. The pixelsare then displayed on a computer display substantially at the same timethe user enters the drawn line trace through the input device.

DESCRIPTION OF DRAWINGS

[0029]FIG. 1 shows a block diagram of the complete system of theinvention;

[0030] FIGS. 2A-B show a pseudocode description of how annotation datais handled and directed to the application;

[0031]FIG. 3 shows a flowchart showing how annotation data is handledand directed correctly to the application;

[0032] FIGS. 4A-B show a pseudocode description of how screen contentsare refreshed on the annotation peripheral;

[0033]FIG. 5 shows a flowchart showing how the screen contents arerefreshed on the annotation peripheral; and

[0034]FIG. 6 shows a flowchart showing a more intelligent downloading ofinformation, where a check is conducted to see if a foreground and/orbackground information is needed to be downloaded.

DETAILED DESCRIPTION

[0035] The following discussion describes in detail one embodiment ofthe invention and several variations of that embodiment. This discussionshould not be construed, however, as limiting the invention to thoseparticular embodiments. Practitioners skilled in the art will recognizenumerous other embodiments as well. For a definition of the completescope of the invention, the reader is directed to the appended claims.

[0036] The invention provides for using an annotation peripheral (suchas a Personal Digital Assistant device running 3Com, Inc.'s Palm OS, orthat running Microsoft Corporation's Windows CE) as the input/outputmethod for entering annotations into an electronic file documents via astylus, while simultaneously viewing portions of the document via adisplay on the writing surface, and while using the peripheral forcontrolling the computer operating system where the document is storedand operated on, and the application that directly manipulates thedocument's data. Such electronic file may be a computer document such asa word processing document (e.g., Microsoft Word document), aspreadsheet document, (e.g., Microsoft Excel document), and apresentation document (e.g., Microsoft Powerpoint document). Possibleapplication of the present invention includes digital signature, onlinecollaboration of document creation and editing via the Internet,presentation of electronically annotated documents, and annotation ofelectronic mail documents.

[0037] The annotation peripheral is connected to a personal computer(PC). The PC may be a computer running a Microsoft Windows operatingsystem (e.g., Windows 98, Windows 2000, Windows NT, Windows ME), or itmay be a computer running a Apple Macintosh operating system. Inaccordance with the invention, drawing data is received by the PC fromthe annotation peripheral in which the position of the drawing stylus isdefined in terms of the graphical coordinate space of the annotationperipheral. The received data is passed to a “Target Interface Module”which contains data describing the graphical coordinate space of thedocument in the target application (which we define as being theapplication program which is manipulating the data and display of thedocument of interest, the active document) and also containsinstructions that define how to integrate the drawn data with theapplication window contents and document contents.

[0038] Simultaneously, the drawn data is passed to a “Real-timeRendering Module” which defines where on the user's display the drawndata is to be presented, and a rendition of the user's input isrecreated in real time on the computer display.

[0039] The “Target Interface Module” performs coordinate translation ofthe drawn data according to the position of the document view in theactive application, and uses facilities of the operating system andapplication to cause the drawing data to be imported into the documentdata, and formatted according to the conventions of the application. Inan enabling and preferred embodiment, drawing data is converted intoparameter structures defined by the “Object Linking and Embedding (OLE)Automation Interface” of the Microsoft Windows operating system tocommunicate with many of the most popular applications for thatoperating system. These OLE Automation functions are called tocommunicate the drawing data to the application where the data isconverted into the format used internally by the application andintegrated by the application into the document data.

[0040] The target application is also under the independent control ofthe user, and in order for the target interface module to performcoordinate mapping and to synchronize with certain states of theapplication, the invention also specifies an “Event Hook Module” wherebehavior of the target application is monitored and application userinterface actions such as scrolling and moving the application windoware intercepted and analyzed. The document window coordinates, and thevarious states of the target application and the display arecommunicated to the target interface module.

[0041] The invention calls for an annotation peripheral that is also adisplay device in the manner of a Preferred Annotation Peripheral (seeabove), where the annotation peripheral displays an image of thedocument being displayed by the target application simultaneously as theuser draws or sketches annotations. According to the invention, aportion of the active document is contained within a cursor area definedby the software of the invention. When an annotation is input on theannotation peripheral it appears within the cursor area. Conversely, theimage of the document within the cursor area is transmitted to theannotation peripheral for display. This is a significant improvementover the prior art which uses graphics tablets, or pen-and-paper basedtechnology extended to computer use, as the image of the document beingannotated appears on the drawing surface where the user is working. Animportant function of the current invention is synchronizing between thetarget application and the annotation peripheral such that when theimage of the document within the cursor area changes, the image of thedocument within the cursor area is obtained and transferred to theannotation peripheral where it is displayed.

[0042] The invention also calls for the annotation peripheral, togetherwith the software of the invention, to provide control functions to thetarget application that include scrolling, panning the cursor area toselect different areas of the active document, zooming the activedocument display, and panning the active document display. Theseexamples are illustrative and not limiting.

[0043]FIG. 1 shows a block diagram of the complete system for annotatinggeneral computer documents, and controlling the computer andapplication, using an annotation peripheral.

[0044] The annotation peripheral 10, of which portion is a peripheralcommunications module 20 which implements the protocols necessary totransmit and receive control and image data to and from the PC. Acomputer 30 includes a communications module 40, which implements theprotocols necessary to transmit and receive control and image data toand from the annotation peripheral 10. The communication modules 20 and40 can use any mutually agreed-to low-level protocols such as RS-232,802.11 wireless Ethernet local area network (LAN), wired Ethernet LAN,or equivalent.

[0045] Annotation data, consisting of stylus location information,control information, navigational information, and attributeinformation, is transmitted from the annotation peripheral 10 viacommunication modules 20 and 40 and is received by the target interfacemodule 60 and real-time rendering module 70. In the preferredembodiment, only sparse pixel coordinate data is communicated from theannotation peripheral 10, plus Start-of-Line (stylus-down) andEnd-of-Line (stylus-up) indicators, plus line attribute information,such that the minimum amount of data needs to be communicated in orderto use the least communications channel bandwidth possible and conservepower, while still communicating a rich enough description of theannotation to appear naturalistic when rendered.

[0046] At the time the annotation data is received by a target interfacemodule 60, a real-time rendering module 70 has received a set of displayarea coordinates of a cursor area 120 within an active document 110 fromthe target interface module 60, relative to the coordinate space of thecomputer screen. The real-time rendering module 70 converts stylusposition annotation data from the coordinate space of the annotationperipheral 10 into the coordinate space of the user's display screen,and renders the incoming annotation data in near real-time on thecomputer display, according to Start-of-Line, End-of-Line, and lineattribute information sent from the annotation peripheral, withoutregard to the inner workings of a target application 90.

[0047] At the same time, the target interface module 60 converts styluslocation annotation data from the coordinate space of the annotationperipheral 10 into the coordinate space of the active document 110 inthe target application 90, by accounting for the location of the cursorarea 120 on the screen, the active document's 110 window location on thescreen, and the mapping of the active document's 110 content within thecoordinate system of the target application 90. There is a linearmapping between the coordinate spaces of the annotation peripheral 10and the display of the active document 110. The mapping is determined bythe size of the active document's 110 window, the position of the cursorarea 110 within the display window, the size of the cursor area 120, thetarget application's 90 display zoom factor, the computer's displayresolution, and the current offset into the active document 100 of thetarget application's 90 display window. In an enabling and preferredembodiment, these factors are queried to the operating system exceptwhere the offset of the active document 100 within its window isprovided by an event hook module 80 for some modes of some applications,where it is more easily derived from the interception and analysis ofevents within the target application 90.

[0048] The target interface module 60 also buffers line attributecontrol commands as they are transmitted, and monitors the state of thestylus as being in either the stylus-down or stylus-up state, accordingto control data sent from the annotation peripheral 10. A stylus-downcommand causes the target interface module 60 to begin buffering styluslocation data until a stylus-up command is received.

[0049] When a stylus-up command is received the target interface module60 prepares the buffered stylus coordinate data and the currentlydefined line attribute data for transfer to the target application 90.The annotation data coordinate information is converted into thecoordinate space of the target application 90 and is converted into thedata structure format necessary to communicate it to the targetapplication 90 via operating system and application facilities forapplication control, shown in FIG. 1 as the operating system applicationcontrol interface 100. In an enabling embodiment, in any one ofMicrosoft Corporation's Microsoft Windows 95, Microsoft Windows 98, orMicrosoft Windows NT operating systems, with the target application 90being any one of Microsoft Word versions 8 or 9, Microsoft Excel version9, or Microsoft Powerpoint versions 8 or 9, this is defined asconversion into a series of function calls to OLE Automation Interfaceswhich permit the system of the invention to cause the target application90 to execute internal instructions corresponding to commands (e.g.,draw a line of a certain thickness in a certain color at certaincoordinates) which are normally performed manually through thetraditional user interface or within the application under theapplication's control, under programmatic control of an external process(in this case the process running the software of the invention)instead. The conversion process in the preferred embodiment thereforeconsists not only of coordinate space transformation but alsostructuring of the annotation graphic data into a series of OLEAutomation interface function calls, with function call argumentsformatted appropriately, resulting in the invocation of functions of thetarget application 90 that support the inclusion of graphic data intoits active document 110.

[0050] When the series of OLE Automation function calls are performed bythe target interface module 60, the annotation data is convertedinternally to the target application 90 into internal data structuresthat represent graphic objects which are a close replication of theannotation data as drawn on the annotation peripheral 10, and whichhenceforth are managed by the target application 90 as an integral partof the Active Document 110.

[0051] The invention specifies use of an annotation peripheral 10capable of displaying a section of the active document 110 directly onthe surface being drawn upon. An area on the computer screen within theactive document's 110 window is visibly indicated as the cursor area 120where annotation of the document will take place. To support thefunctionality of displaying the screen contents within the cursor area120 on the annotation peripheral 10, the event hook module 80 constantlymonitors the behavior of the target application 90 and the userinterface associated with it. The event hook module 80 informs thetarget interface module 60 of events (e.g. scrolling, document change,input events) occurring within the target application 90 which mightresult in the annotation peripheral 10 display requiring an update. Whensuch an event occurs an update operation is scheduled.

[0052] When the update operation starts, the target interface module 60obtains a copy of the bitmap data of the computer display area withinthe cursor area 120. A checksum calculation is performed on the contentsof the bitmap data contained within the cursor area 120, and if in asequence of two update operations the checksum results differ, a changeof cursor area 120 contents has occurred and update of the annotationperipheral 10 takes place. The bitmap of the cursor area 120 contents isthen transmitted to the annotation peripheral 10.

[0053] The invention calls for the ability for the annotation peripheral10 to communicate navigation and control commands to the targetapplication 90 via data that are interpreted by the target interfacemodule 60 as control commands. In the preferred embodiment, this is doneby tagging each data packet from the annotation peripheral 10 with afunction code that identifies the nature of the packet.

[0054] When control packets are received by the target interface module60 they are converted into an appropriate command format that can betransmitted to the target application 90 via the operating systemapplication control interface 100, which in the case of the enablingpreferred embodiment is the OLE Automation Interface. This permits thesystem of the invention to cause the target application 90 to executeinternal instructions corresponding to commands (e.g. scroll window, pandocument, zoom in, zoom out, as illustrative and not limiting examples)which are normally performed manually through the traditional userinterface or within the application under the application's control,under programmatic control of an external process (in this case theprocess running the software of the invention) instead.

[0055] The invention specifies a navigational mode of display thatpermits navigation within the entire displayed area of the activedocument 110, in which the image of the entire window area of the activedocument 110 is obtained in the same manner in which the inventionobtains the image of the contents of the cursor area 120 in normaloperation, and is then transmitted and displayed on the annotationperipheral 10. A feature of the display so created is that the cursorarea 120 is represented on the screen of the annotation peripheral 10.The stylus control which in normal operation is used to input annotationgraphics is then used to move the representation of the cursor area 120around on the display of the annotation peripheral 10 during which timethe Cursor Area 120 is shown to move in the active document's 110 windowarea. Upon the user's indication, in the preferred embodiment this beinga tap of the stylus on a button displayed on the screen of theannotation peripheral 10, the current location of the cursor area 120becomes the new cursor area 120 within which annotation will recommence.The manner in which to use special control signals to switch to thenavigational mode, and move the cursor area 120, will be obvious to oneskilled in the art.

What is claimed is:
 1. A computer-implemented method for a user toelectronically annotate an electronic file, comprising: a. providing acomputer system having a computer display and an input device, b.receiving through the input device a drawn line trace as input from theuser; c. rendering a plurality of pixels corresponding to the drawn linetrace according to a pre-selected attribute; and d. displaying thepixels on the computer display substantially simultaneously as the userenters the drawn line trace through the input device.
 2. The method ofclaim 1, wherein the input device is a handheld computer peripheraldevice.
 3. The method of claim 1, wherein the input device is thecomputer display.
 4. The method of claim 1, wherein the input device isadapted to display selected portion of a screen data displayed on thecomputer display.
 5. The method of claim 1, wherein the peripheraldevice is adapted to display all of the screen data displayed on thecomputer display.
 6. The method of claim 1 further comprisinginterpolating the drawn line trace prior to rendering, wherein theperipheral device sends only a subset of information about the drawnline trace to the computer, such that the resulting pixels displayed onthe computer display appear to be a continuous drawn line trace.
 7. Themethod of claim 1 further comprising determining one or more attributesof the drawn line trace, said attributes comprising: a. a thickness ofthe drawn line trace; b. one or more shading characteristics of thedrawn line trace; c. one or more dithering characteristics of the drawnline trace; d. a mode to erase previously drawn line trace; and e. oneor more colors of the drawn line trace.
 8. The method of claim 1, wherereceiving the drawn line trace comprises receiving only an abstractrepresentation of the drawn line trace.
 9. The method of claim 8,wherein the abstract representation comprises one or more straightlines.
 10. The method of claim 8, wherein the abstract representationcomprises one or more rough-drawn straight lines.
 11. The method ofclaim 8, wherein the abstract representation comprises one or moresimple geometrical curves.
 12. The method of claim 8, wherein theabstract representation comprises one or more complex geometricalcurves.
 13. The method of claim 8, wherein the abstract representationcomprises one or more composite geometrical shapes.
 14. The method ofclaim 8, wherein the abstract representation contains information tomimic in reproductive form the drawn line trace.
 15. The method of claim8, wherein the abstract representation comprises a signature of theuser.
 16. The method of claim 15, wherein the abstract representationcomprises: a. an abstract primitive of the drawn line trace; and one ormore relevant attributes of the abstract primitive, sufficient to enablea reconstitution of the drawn line trace.
 17. The method of claim 15,wherein the abstract representation further comprises: a. an abstractprimitive type of the drawn line trace; b. a length of a locus of thedrawn line trace; c. an average width of a line comprising the drawnlocus of the drawn line trace; d. a color in formation of the drawn linetrace ; and e. a sketchiness information to indicate sketchy nature ofthe drawn line trace.
 18. A computer program product stored on acomputer-readable medium for interacting with a user inputting a drawnline trace, the product comprising instructions operable for causing aprogrammable processor to: a. receive through an input device the drawnline trace as input from the user; b. render a plurality of pixelscorresponding to the drawn line trace according to a pre-selectedattribute; and c. display the pixels on a computer display substantiallysimultaneously as the user enters the drawn line trace through the inputdevice.
 19. A computer program, residing on a computer-readable medium,comprising instructions for causing a computer to: a. receive through aninput device the drawn line trace as input from the user; b. render aplurality of pixels corresponding to the drawn line trace according to apre-selected attribute; and c. display the pixels on a computer displaysubstantially simultaneously as the user enters the drawn line tracethrough the input device.
 20. A computer system for a user toelectronically annotate electronic files, comprising: a. an input devicefor receiving the drawn line trace as input from the user; b. a computerprocessor connected with the input device for rendering a plurality ofpixels corresponding to the drawn line trace according to a pre-selectedattribute; and the computer display for displaying the pixelssubstantially simultaneously as the user enters the drawn line tracethrough the input device.